1.2 JDBC编程的分析
1.2.1 jdbc程序的回顾
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
   | public static void main(String[] args) {     Connection connection = null;     PreparedStatement preparedStatement = null;     ResultSet resultSet = null;     try {                  Class.forName("com.mysql.jdbc.Driver");                  connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8","root", "root");                  String sql = "select * from user where username = ?";                           preparedStatement.setString(1, "王五");                  resultSet = preparedStatement.executeQuery();                  while(resultSet.next()){              System.out.println(resultSet.getString("id")+" "+resultSet.getString("username"));         }      } catch (Exception e) {         e.printStackTrace();     }finally{                   if(resultSet!=null){              try {                  resultSet.close();             } catch (SQLException e) {                  e.printStackTrace();             }          }          if(preparedStatement!=null){              try {                 preparedStatement.close();             } catch (SQLException e) {                  e.printStackTrace();             }          }          if(connection!=null){              try { connection.close();                 } catch (SQLException e) {                                   e.printStackTrace();             }         }     } }
  | 
 
1.2.2 jdbc问题分析
  1、数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题
  2、Sql语句在代码中硬编码,造成代码不易维护,实际应用sql变化的可能较大,sql变动需要改变java代码。
  3、使用preparedStatement向占有位符号传参数存在硬编码,因为sql语句的where条件不一定,可能多也可能少,修改sql还要修改代码,系统不易维护。
  4、对结果集解析存在硬编码(查询列名),sql变化导致解析代码变化,系统不易维护,如果能将数据库记录封装成pojo对象解析比较方便。
本文标题:第一章 框架概述 第2节 JDBC编程的分析
文章作者:foreverSFJ
发布时间:2019-09-08 16:51:39
最后更新:2019-09-08 16:51:39
原始链接:Notes/Java/Persistence/Mybatis/01_02 JDBC编程的分析.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明出处!